package com.qd.panda.gas.station.ejiayou.resp.station;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.Optional;

/**
 * 易加油 加油站信息
 *
 * @author sjk
 * @create 2023-02-10 10:59
 * @since 1.0.0
 */
@Data
@Accessors(chain = true)
@ToString
public class EGasStationDTO {
    /**
     * 油站ID
     */
    private Integer stationId;
    /**
     * 油站名称
     */
    private String stationName;
    /**
     * 地区
     */
    private String district;
    /**
     * 省份编号
     */
    private Integer provinceId;
    /**
     * 省份
     */
    private String provinceName;
    /**
     * 城市编号
     */
    private Integer cityId;
    /**
     * 城市
     */
    private String cityName;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 站点地址
     */
    private String location;
    /**
     * 评分
     */
    private String starNum;
    /**
     * 电话
     */
    private String phone;
    /**
     * 油站小图
     */
    private String stationPic;
    /**
     * 油站大图
     */
    private String stationBannerPic;
    /**
     * 油站类型 : 1 中石油，2 中石化，3 壳牌，4 其他
     */
    private Integer stationType;
    /**
     * 是否支持微信支付：2：不支持 0：支持
     */
    @JsonProperty("defaultpay")
    private Integer defaultPay;
    /**
     * 价格
     */
    private List<EGasPriceDTO> prices;
    /**
     * 优惠信息
     */
    @JsonProperty("Adverts")
    private List<EAdvertDTO> adverts;

    public void freeData() {
        this.stationId = null;
        this.stationName = null;
        this.district = null;
        this.provinceId = null;
        this.provinceName = null;
        this.cityId = null;
        this.cityName = null;
        this.latitude = null;
        this.longitude = null;
        this.location = null;
        this.starNum = null;
        this.phone = null;
        this.stationPic = null;
        this.stationBannerPic = null;
        this.stationType = null;
        this.defaultPay = null;
        Optional.ofNullable(prices).ifPresent(eGasPriceDTO -> eGasPriceDTO.forEach(EGasPriceDTO::freeData));
        Optional.ofNullable(adverts).ifPresent(eAdvertDTO -> eAdvertDTO.forEach(EAdvertDTO::freeData));
    }
}